package com.anjubao.parking.municipal.order.model;

import com.anjubao.parking.municipal.common.entity.BaseEntity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;

import java.time.LocalDateTime;

/**
 * 充值记录表
 *
 * @author zhuchunfeng
 */
@Getter
@Setter
@TableName("parking_trade_recharge")
@ApiModel(value="ParkingTradeRecharge",description = "充值记录表")
public class ParkingTradeRecharge extends BaseEntity<ParkingTradeRecharge>{

    @TableField(value="out_trade_id")
    @ApiModelProperty(name="outTradeId",value = "交易订单ID")
    private Long outTradeId;

    @TableField(value="out_trade_no")
    @ApiModelProperty(name="outTradeNo",value = "商户订单号，交易订单ID 生成规则为300(3位)+yyMMddHHmm(10位)+out_trade_id(19位)")
    private String outTradeNo;

    @TableField(value="business_id")
    @ApiModelProperty(name="businessId",value = "子系统订单id")
    private String businessId;

    @TableField(value="total_fee")
    @ApiModelProperty(name="totalFee",value = "订单总金额")
    private Integer totalFee;

    @TableField(value="order_time")
    @ApiModelProperty(name="orderTime",value = "订单生成时间")
    private LocalDateTime orderTime;

    @TableField(value="pay_type")
    @ApiModelProperty(name="payType",value = "交易类型,JSAPI，NATIVE，APP，对应微信的trade_type")
    private String payType;

    @TableField(value="payer_openid")
    @ApiModelProperty(name="payerOpenid",value = "openID,pay_type=JSAPI，此参数必传，用户在商户appid下的唯一标识。")
    private String payerOpenid;

    @TableField(value="payer_phone")
    @ApiModelProperty(name="payerPhone",value = "用户标识，用户手机号")
    private String payerPhone;

    @TableField(value="payer_customer_id")
    @ApiModelProperty(name="payerCustomerId",value = "用户标识，用户id")
    private String payerCustomerId;

    @TableField(value="pay_channel_id")
    @ApiModelProperty(name="payChannelId",value = "渠道ID -- 1：微信 2:支付宝 3:银联 4:现金 99:其他")
    private Integer payChannelId;

    @TableField(value="transaction_id")
    @ApiModelProperty(name="transactionId",value = "第三方支付平台订单号")
    private String transactionId;

    @TableField(value="status")
    @ApiModelProperty(name="status",value = "订单状态, 0：未支付，1：已支付，2：已关闭，3：已退款,4:欠费")
    private Integer status;

    @TableField(value="status_desc")
    @ApiModelProperty(name="statusDesc",value = "交易状态描述")
    private String statusDesc;

    @TableField(value="fulfill_time")
    @ApiModelProperty(name="fulfillTime",value = "订单完成时间")
    private LocalDateTime fulfillTime;


}